{
    "keyboard_name": "Keychron Q9 Plus",
    "manufacturer": "Keychron",
    "url": "https://github.com/Keychron",
    "maintainer": "lalalademaxiya1",
    "processor": "STM32L432",
    "bootloader": "stm32-dfu",
    "usb": {
        "vid": "0x3434"
    },
    "features": {
        "bootmagic": true,
        "command": false,
        "console": false,
        "extrakey": true,
        "mousekey": true,
        "dip_switch": true,
        "encoder": true,
        "nkro": true,
        "rgb_matrix": true
    },
    "eeprom": {
        "wear_leveling": {
            "backing_size": 4096
        }
    },
    "dip_switch": {
        "matrix_grid": [ [3, 4] ]
    },
    "matrix_pins": {
        "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
        "rows": ["B3", "A15", "A14", "A13"]
    },
    "diode_direction": "ROW2COL",
    "encoder": {
        "rotary": [
            {"pin_a": "B4", "pin_b": "B5"}
        ]
    },
    "dynamic_keymap": {
        "layer_count": 5
    },
    "layouts": {
        "LAYOUT_54_ansi": {
            "layout": [
                {"matrix":[0,0], "x":0, "y":0, "w":1.5},
                {"matrix":[0,1], "x":1.5, "y":0},
                {"matrix":[0,2], "x":2.5, "y":0},
                {"matrix":[0,3], "x":3.5, "y":0},
                {"matrix":[0,4], "x":4.5, "y":0},
                {"matrix":[0,5], "x":5.5, "y":0},
                {"matrix":[0,6], "x":6.5, "y":0},
                {"matrix":[0,7], "x":7.5, "y":0},
                {"matrix":[0,8], "x":8.5, "y":0},
                {"matrix":[0,9], "x":9.5, "y":0},
                {"matrix":[0,10], "x":10.5, "y":0},
                {"matrix":[0,11], "x":11.5, "y":0},
                {"matrix":[0,12], "x":12.5, "y":0},
                {"matrix":[0,13], "x":13.5, "y":0, "w":1.5},
                {"matrix":[0,14], "x":15.25, "y":0},

                {"matrix":[1,0], "x":0, "y":1, "w":1.75},
                {"matrix":[1,1], "x":1.75, "y":1},
                {"matrix":[1,2], "x":2.75, "y":1},
                {"matrix":[1,3], "x":3.75, "y":1},
                {"matrix":[1,4], "x":4.75, "y":1},
                {"matrix":[1,5], "x":5.75, "y":1},
                {"matrix":[1,6], "x":6.75, "y":1},
                {"matrix":[1,7], "x":7.75, "y":1},
                {"matrix":[1,8], "x":8.75, "y":1},
                {"matrix":[1,9], "x":9.75, "y":1},
                {"matrix":[1,10], "x":10.75, "y":1},
                {"matrix":[1,11], "x":11.75, "y":1},
                {"matrix":[1,13], "x":12.75, "y":1, "w":2.25},
                {"matrix":[1,14], "x":15.25, "y":1.25},

                {"matrix":[2,0], "x":0, "y":2, "w":2.25},
                {"matrix":[2,2], "x":2.25, "y":2},
                {"matrix":[2,3], "x":3.25, "y":2},
                {"matrix":[2,4], "x":4.25, "y":2},
                {"matrix":[2,5], "x":5.25, "y":2},
                {"matrix":[2,6], "x":6.25, "y":2},
                {"matrix":[2,7], "x":7.25, "y":2},
                {"matrix":[2,8], "x":8.25, "y":2},
                {"matrix":[2,9], "x":9.25, "y":2},
                {"matrix":[2,10], "x":10.25, "y":2},
                {"matrix":[2,11], "x":11.25, "y":2},
                {"matrix":[2,13], "x":12.25, "y":2, "w":1.75},
                {"matrix":[2,14], "x":14, "y":2},

                {"matrix":[3,0], "x":0, "y":3, "w":1.25},
                {"matrix":[3,1], "x":1.25, "y":3, "w":1.25},
                {"matrix":[3,2], "x":2.5, "y":3, "w":1.25},
                {"matrix":[3,3], "x":3.75, "y":3, "w":1.25},
                {"matrix":[3,6], "x":5, "y":3, "w":2.25},
                {"matrix":[3,9], "x":7.25, "y":3, "w":2.75},
                {"matrix":[3,10], "x":10, "y":3},
                {"matrix":[3,11], "x":11, "y":3},
                {"matrix":[3,12], "x":12, "y":3},
                {"matrix":[3,13], "x":13, "y":3},
                {"matrix":[3,14], "x":14, "y":3},
                {"matrix":[1,12], "x":15, "y":3}
            ]
        }
    },
    "rgb_matrix": {
        "driver": "snled27351",
        "animations": {
            "breathing": true,
            "band_spiral_val": true,
            "cycle_all": true,
            "cycle_left_right": true,
            "cycle_up_down": true,
            "rainbow_moving_chevron": true,
            "cycle_out_in": true,
            "cycle_out_in_dual": true,
            "cycle_pinwheel": true,
            "cycle_spiral": true,
            "dual_beacon": true,
            "rainbow_beacon": true,
            "jellybean_raindrops": true,
            "pixel_rain": true,
            "typing_heatmap": true,
            "digital_rain": true,
            "solid_reactive_simple": true,
            "solid_reactive_multiwide": true,
            "solid_reactive_multinexus": true,
            "splash": true,
            "solid_splash": true
        },
        "sleep": true
    }
}
